package com.alinesno.cloud.initializr.starter.cicd.deploy.k8s.api;


import org.springframework.stereotype.Component;

import com.alinesno.cloud.initializr.starter.cicd.deploy.k8s.BaseApi;
import com.alinesno.cloud.initializr.starter.cicd.deploy.k8s.bean.NamespaceBean;

import io.fabric8.kubernetes.api.model.Namespace;
import io.fabric8.kubernetes.api.model.NamespaceBuilder;

/**
 * 命名空间
 * 
 * @author WeiXiaoJin
 * @date 2021年6月25日 下午9:06:26
 */
@Component
public class NamespaceApi extends BaseApi {

	/**
	 * 创建命名空间
	 * @return 
	 */
	public Namespace createNamespace(NamespaceBean bean) {
		
		Namespace myns = client().namespaces().create(new NamespaceBuilder()
                .withNewMetadata()
                  .withName(bean.getName())
                .endMetadata()
                .build());
		
		// TODO 自动生成空间密钥
		
		return myns ; 
	}

	/**
	 * 删除工作空间
	 * @param n
	 */
	public boolean deleteNamespace(String name) {
		Boolean myns = client().namespaces().withName(name).delete();
		return myns ; 
	}
	
}
